#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDialog>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 1：手动创建“actionnew”（模拟 UI 设计器的动作）
    QAction* actionNew = new QAction("新建混合对话框", this);
    actionNew->setObjectName("actionnew");

    // 2：将动作添加到菜单栏（模拟 UI 布局）
    QMenu* fileMenu = menuBar()->addMenu("文件");
    fileMenu->addAction(actionNew);

    // 3：连接动作触发信号，创建混合对话框
    connect(actionNew, &QAction::triggered, this, [=]() {
        QDialog *dialog = new QDialog(this);  // 父窗口设为当前主窗口
        dialog->setWindowTitle("混合属性对话框");

        //  混合特性设置：
        dialog->setAttribute(Qt::WA_DeleteOnClose); // 关闭自动销毁（非模态销毁特性）
        dialog->setModal(true);                     // 阻塞父窗口（模态功能特性）
        dialog->resize(200, 100);                  // 设置对话框大小

        //  非模态方式显示（但因 setModal(true)，实际表现为“功能模态”）
        dialog->show();
    });
}

MainWindow::~MainWindow()
{
    delete ui;
}
